みなさんへの告知板


オンラインゲームからは離れました。これからはリアルょぅι゛ょで頑張ろうと思います


ミジンコゼミナール


ネットゲーム解析初心者向け講座、ミジンコゼミナール 開講!

多重起動、窓化の基礎をしらんやつは見ておけ。
読んでも理解できないやつは解析以前の問題だから文句いうな('A`)

ミジンコゼミナール:ネットゲーム解析講座一覧
1日目:入学/必要な教材 2日目:基本的なアセンブリ言語
3日目:Ollydbg の操作方法と演習 4日目:多重起動1(FindWindow)
5日目:多重起動2(CreateMutex) 6日目:多重起動3(EnumWindows、その他の方法)
7日目:ウィンドウについて
8日目:窓化(D8) 9日目:窓化(D9)
10日目:DLL について 11日目:何か作ってみよう
12日目:試験 13日目:プレゼント

2006年10月13日


みじんこの始まり

秋の夜長・・・でも無いけど久しぶりにネトゲをやってみた。
ちなみにマビノギね。
やってみた感想はというと、ガッツリ系ではなくてノラリクラリ系(?)な感じ。
まぁ、始めたばっかだからかもしれないけどさ・・・('A`)




タル鯖の sp 改めぱんだ四号パパラッチ写真。


さて、ネトゲといえどゲームなわけでやっぱり改造とか色々出来るわけですよ。
俗にいうチート行為だね。
sp もバイナリいじりは好きなほうなので、久しぶりにチートやらマクロやらBOTの
話題を扱っている某2ch にいってきました。

色々なゲームの板があるんだけど昔に比べて職人さんがいない、ア〜ンド、お前ら
ちっとは自分で解析しろよ 凸(^w^) ゴラァ!!と言いたくなる板が多数…。

窓化教えろだとか、多重起動教えろだとか、ツールのパスがわかんないだの
どーでもいいのがワッサワッサ。
やり方わからない or やる気がないのどっちかだとは思うんだがみんな自分で解析する気ないのかな?
プログラミングとかに触れた事がなくてやり方がわからないってだけの奴なら十分救えるんだが…。



そうそう、どの板で見たのか忘れたけどチーターにはこんなランク付けがあるらしい



神>>>人>猿>鳩>ミジンコ>ミジンコ未満≧ゾウリムシ>アメーバ>
ミトコンドリア>・>.



「ミジンコ」って言葉はよく使われてるから知ってたけど、一つ上のランクでいきなし
鳩(ハト)かよ!って空飛べるじゃん!スゲェーじゃん!!出世しすぎだなオイ!!
まぁ、最後は予想道りネ申になるわけだがな。


と、こんな事をやってるうちにたまには人の役に立てる活動をしてみようかと思ったわけだ。
そこで1大プロジェクトを発足することにする。



題して






ミジンコ sp が教えるミジンコのための

ゲーム解析ミジンコゼミナール!!!






よ〜し、いいかミジンコども。今日から担任になった sp だ。
手抜きがあってもやさしく説明なんかしないから分からないことは勝手に調べろ。
授業内容の更新は不定期だからうpうpしか言わないミジンコはカエレ(・∀・)

それとな、このミジンコゼミナールではミジンコを対象にしているが
ネットの海に迷ったミトコンドリアやゾウリムシ、アメーバが来ることもあるだろう。
来ちまったもんはしょうがないからな、ミジンコ以外もゆったりしていけ。

最後に一つ、我がミジンコゼミでの格付けは以下の通りだ。多少甘くランクさせてるが
参考までに覚えておけ。

.(塵)
ネットをしたことが無い。言葉も話せない。

・(微生物)
言葉を覚え、PCを持っているがLANケーブルが足に絡まってうまく動けない。

ミトコンドリア(真核生物)
エロ画像収集で訓練を積み、ググったりして情報をさがせる。

アメーバ(原生生物)
尻板やアングラ系のサイトをうろつくようになる。
また、この時に色々なツールがあることを覚え始める。

ゾウリムシ(原生生物)
アメーバと同じく単細動物であるが、2進数、16進数を理解しており
バイナリエディタなどでプログラムの改変もできる。
また、プログラミングをささやかながら覚え始める。

ミジンコ(甲殻類)
ollydbg などのデバッガーを使い始め、簡単なアプリのシリアル番号くらいなら
はじき出せるようになる。また、クライアントプログラムを解析し、窓化、多重起動などの
修正は自分でできる。
しかし API に関しては知識が乏しい。

鳩(ハト目・ハト科の鳥類)
UWSC などではなく、自前でマクロツールを作れる。

猿(霊長類)
パケットを観察し始め、パケットが暗号化されているのに気づき暗号解析を始める。
また、蔵フォルダにある各種データの解除も行い、遊びほうけるようになる。

人(乳綱サル目ヒト科)
dll などを作成し、ゲームに組み込めるようになる。また、BOT の作成にも着手する。

神(造物主)
量りしれない力を持っているため、フリーザなどが持っている高級なスカウターで
計測しても瞬時に破壊されてしまう。神(カミ)と書くがゴッドと発音する。






さて、そろそろ ミジンコゼミの授業内容を伝えておこうか。






【ゲーム解析ミジンコゼミナール授業一覧】

※ 月末オープン!!予定('A`)


初日

 はじめに 入学式教材

 1時限目 基礎例題

 2時限目 窓化1窓化2

 3時限目 多重起動1多重起動2

 4時限目 多重起動3多重起動4


2日目

 1時限目 ファイルサイズ

 2時限目 タイムスタンプ

 3時限目 デバッガ検知1デバッガ検知2

 4時限目 DLL解析


3日目

 1時限目 ツール作成実習

 2時限目 ミジンコ試験




この記事へのコメント
>BOT BOT
ごめんなさい、業者さんのコメントは削除です。
ではまたのお越しを〜 凸(^w^
Posted by sp at 2006年12月04日 17:57
現在ゾウリムシのおいらでも鳩になれますfa?('A`)
Posted by 学生NEET at 2007年03月03日 19:11
>学生NEET氏

え〜と、結論から言えばなれます!

って今の状態だとこれだけしか言えない…。

やりたい事などの方向性&得意分野も言ってもらえたら
もう少しましなお返事できる鴨(つwT)
Posted by sp at 2007年03月07日 12:41
まだバイナリエディッタぐらいしか使えませんよ。
現目標ではollyが使いこなせるようになりたいですがね('A`)
Posted by 学生NEET at 2007年03月12日 01:19
連投すいません。
ttp://www.geocities.jp/dana13sai/
での第1回〜5回までしかできないレベルです。
Posted by 学生NEET at 2007年03月12日 20:31
アセンブラの命令についてはデータ移動(mov)、
演算処理(加減乗除・ビット演算)、比較(cmp/test)、
メモリ参照(lea、ポインタ)、関数呼び出し/条件ジャンプ(call/ret、jmp/je他)、
繰り返し(loop、inc/decと条件ジャンプの組み合わせ)、スタック(push/pop、pushad/popfd)
らへんを覚えておけばいいかなと思います。

Olly の↓は知ってるかもしれませんがよく使う操作なのでとりあえず。

F2 ⇒ ブレークポイントを仕掛けます。プログラムを実行すると仕掛けた
   場所で停止します。同じ場所で F2 を押せば解除です。
   命令じゃなくてアドレスやメモリ自体にセットしたいときは
   右クリック⇒ブレイクポイントでメモリ or ハードブレイクポイントをセット。

alt + B ⇒ セットしたブレークポイントの一覧表示。削除は Del キーで。

F7 ⇒ 一つずつ命令を実行します。call や API などで違う処理を呼び出す時でも
   その処理をおっていきます。
F8 ⇒ 一つずつ命令を実行します。call や API などでは処理を追わずに次の命令
   (ret)まで進みます。
F9 ⇒ ひたすら実行です。例外にあたったときは Shift + F9 で。

+ ⇒ 既に実行した命令の範囲内であれば、カーソルの次の行に進みます。
- ⇒ 既に実行した命令の範囲内であれば、カーソルの前の行に戻ります。

Ctrl + F2 ⇒ プログラムを読み込みなおします。
Ctrl + G ⇒ 指定したアドレスを検索します。

それとデバッグしてるときに右下のスタックウィンドウの値とか確認しながらやると
プログラムの流れが把握しやすいかも。


ここから↓はOllydbgのショートカットではないですが、これ以外の
操作方法は個人的には使ってないような…。参考にならなかったら申し訳ない。

右上のレジスタウィンドウ。cmpやtestの比較の後には条件ジャンプの命令が
きますが、ジャンプしたくない場合は C や Z フラグのところをいじって飛ばない
ように操作してます。

「右クリック」⇒「検索」⇒「全ての外部関数呼び出し」
プログラム内で使用しているAPIや関数の呼び出し元をリスト化して表示します。
例えばどんな操作をすると***な処理を行うか?を確認したい場合には
SetWindowsHook などのAPIを選択し、Enter することで SetWindowsHook を
呼び出す処理へ画面が移ります。
そこで F2 でブレークを仕掛け実行したときにどんな値が渡されているかを確認します。
場合によっては API を丸ごと削って違う処理に書き換えたりします。
いづれにせよ蔵解析ではAPIに目星をつけてから解析するのが始まりといっても
過言じゃないっす。

APIのリストを見ることでどこでどの処理をしているのかを推測できますが、
APIをある程度覚えないといけません。
まぁリストに表示された名前を見てみればどんな処理をするAPIかの予測はつくと
思います。
細かい動作とかがよく分からない場合はその名前をMSDNやグーグルで調べてみてください。
それとAPIや関数の戻り値は基本的に EAX レジスタに保存されます。
呼び出し後のEAXの値を確認することも大事です。


「解析」⇒「引数」
ゲームを始める場合、パッチャーなどの起動プログラムが最初に立ち上がります。
そしてスタートボタンを押して蔵本体が起動するわけですが、蔵を立ち上げるときに
起動プログラムが引数という値を渡して蔵を立ち上げています。
Ollydbg で蔵本体を直に起動させる場合はここに引数を入れて実行させます。
引数については起動プログラムを調べれば分かりますが、面倒だったら ProcMon など
のツールで調べると楽だったりします。
デバッガを挟まずに直に蔵を起動させたい時は .bat ファイルに "蔵名 引数" で
保管しておけばクリック一つで起動します。

「表示」⇒「メモリ」
プログラムの処理は蔵内部だけの処理だけではなく、DLLなど他のモジュール
が持つ機能を取り込んで処理を行ったりします。
そこで自分が現在どこのモジュールが持つ機能をデバッグしているか?を
確認するための地図としてこの機能を使ったりします。
見方としては現在実行しているアドレスをリストの左にあるアドレスの範囲に
照らしあわせるだけです。アンパックするときなどの確認として使うことが多いです。

「表示」⇒「ラントレース」
自動実行してログをとってくれます。
「解析」⇒「トレース実行」を選び、あとはラントレースを表示するだけです。
が、時間がかかるのでちょっと出かけたり放置するときに使ったほうがいいかも…。
これもアンパックするときにLoop(展開処理)を確認するのに使ったりもします。


ダラダラと書きましたが学生NEET氏が期待した答えじゃないような気が
8割くらいしなくもないです…('A`)

なので・・・ほかのみなさんも何か意見あったらお願いします(ぉ
Posted by sp at 2007年03月13日 14:10
ゾウリムシのためにこんなに丁寧な説明ありがとうございます。

ollyの基本的な使い方はミジンコセミナー分は理解しているつもりです。
アセンブラの命令は演習をしていくうちにある程度は覚えました。
まだまだ不十分な知識しか持ち合わせていないので、これを参考にしてまた解析の勉強を進めていきます。
またわけのわからなくなったときにはご教授いただいてもよろしいですfa?('A`)
Posted by 学生NEET at 2007年03月13日 19:01
逆に…おいらが分からない時はどうぞ教えてやってください(汗
大したことは言えませんが今後も宜しくです^^
Posted by sp at 2007年03月14日 09:17
質問です
ゲームガードを回避しないと多重起動はできませんか?
Posted by ミトコン at 2007年03月30日 01:03
>ミトコン氏

回避しないと、というとちょっと微妙かもしれませんが
基本的には出来ないですね。
Posted by sp at 2007年03月31日 12:36
今日からこの講座初めていきたいとおもいます
知識的にはミトコンドリアクラスですがミジンコになりたいです。
ネトゲ解析の知識はチョコットランドがきっかけで2ch板でうp汁!!うp汁!!なんて書いてたBAKAですが、がんばってミジンコになりたいとおもいます。
解析などできるひとはみんな冷たい人ばかりだとおもってましたが、このようなサイトをつくってくれて感謝です
それでは初日の1限目からがんばっていきます
Posted by ミトコンドリアクラス at 2007年05月04日 12:24
今日から講座に加わりますたくまです。
解析をしたくていろいろなHPをまわってて
ここに迷い込みましたw
ミトコンドリアクラスですがいつかミジンコになれたらいいなw

夢はBOT作成ですw
Posted by たくま at 2007年05月17日 22:34
spさん、すこしだけ聞きたいのですがランクが ネ申クラス並の実力者だとどのゲームでも運営者をごまかしデータを改変しLV等を楽に上げれるのでしょうか・・・。すこし気になった者です。
Posted by 観察する者 at 2007年06月03日 17:43
SUGEEEEEE!
これはわかりやすい
最高です!
一生ついてきますよろしくですですですです
Posted by 空腹が満たされたミジンコ at 2007年08月07日 16:43
俺鳩
Posted by tep at 2007年09月04日 17:38
俺微塵子
Posted by sp at 2007年09月04日 18:31
多分、すこしだけミジンコww
マビの多重はできましたw
ただ、マビのClient.exeのファイルをOllyで改造ができなくてバイナリで改造しましたw
力不足でClient.exeの改造部分をさがしたんですけどねw
これからもよろしくですw
Posted by クラ at 2007年09月09日 01:38
7日目以降見れません・・・
Posted by ん at 2007年09月27日 03:20
>>んさん
7日以降ありません
それ以降に、あるのは11日のみ。

以上sp氏の代わりにお答えしました。

追伸 作ってないみたいですw
Posted by イチゴタンメン at 2007年10月04日 03:20
こんにちわわ、自分ミトコンドリアなんですが
最近パケットの解析し始めました
しかしよく間違えたパケット送ってしまいサーバー切断されるんですが切断されないように
するにはどんな関数でチェックしてるんでしょう
現在GetLastErrorのへんかなって調べてます
Posted by tako at 2007年10月04日 10:23
こんにちは!ゲームのチートをしたくて2chでさがしてみたんですが、職人さんがチートの解析についていろいろ書いてるのをみました。
それで、人に頼らずに自分でチートをつくってみたい!そしてかくなるうえはエミュをも・・と思ってググりまくった結果ここにたどりつきました。
でも私はアメーバとかそういうの以前に、
レジスタってなに??デバッグ?なにそれおいしいの?みたいな状態なんです・・・
当然わからない単語がググって意味をしらべたりしていました。でも物覚えの悪い私には数個ぐらいしかおぼえれず・・・
この講座もZ1を0にしろという所で、あれ?これ最初から0になってるけど・・・という感じでいきづまってしまったりです・・;
こんな私でもはたしてチートをつくれるようになるのでしょうか。専門学校とかにいかずに、このような講座で勉強してチートを見事作って見せたいです。
Posted by チートを作りたい子 at 2007年10月05日 01:03
あ・・誤字いっぱい;
ごめんなさい;
Posted by チートを作りたい子 at 2007年10月05日 01:04
Σ(゚Д゚)・・・ハッ!
0にしろじゃなくて0にしちゃだめってことだったんですね;;
なんていうか講座以前に国語からやりなおしですよねこんなの;;;
もっともっと自分で調べて覚えていこうと思います。これから先の講座、もし作るなら心待ちにしているのでこれからも勝手にですけど、よろしくおねがいしますm(_ _)m
Posted by チートを作りたい子 at 2007年10月05日 01:07
今、WR中毒患者ですw最近升を3000wmで購入したんですが、毎週送るって言われたのに1回でバックレられました><;そこで、色々自分で試そうと思い、ここを発見しました。プログラミングとかかなり興味があるのですが、やり方が全然わかりません><;こんな私ですが、色々とご指導お願いできませんか?最高w最強天才先生様wどうか私を秘書にさせてくださいw
実際の仕事も秘書をやってますw女なのに・・・
WRなんて?って思わないで下さい・・・;;
Posted by long_peace at 2008年05月22日 22:54
では Messagebox の2つめだけ表示できたみじんこから次に最後にいくぞ。のところで最初は初期から2つ目が記載されていたんですが間違って変なことしてるうちに表示されなくなりました。再インストールし直したけどわからず、手が止まってます
良ければ解説お願いします、色々ページ見たけどわからない・・
Posted by yuri at 2008年11月16日 00:27
今日から講座に加わります。
GG回避・多重起動を自分で作成したいです。
Posted by zero at 2008年12月22日 18:31
すげえ分かりやすい 気がした。あざーす!
Posted by at 2009年01月25日 01:59
今日から講座に加わります 早くミジンコになりたい…
Posted by ゾウリムシ at 2009年08月15日 11:10
お暇があるようでしたら続きまた作ってほしいなぁ・・・
Posted by 塵 at 2009年10月17日 15:32
興味?はあるけどサッパリわからない。

けど、ここ見て和みました(〃д〃)

足のコードをほどきつつ勉強させていただきます♪

復活期待してます(*´д`*)
Posted by 微生物 at 2010年03月27日 06:59
ollyDLする場所教えて
Posted by at 2010年10月23日 13:50
ollydbgのホムペにzipがある
Posted by at 2010年12月16日 00:20
俺。アメーバでした。
Posted by アメバ at 2011年02月03日 15:32
参考にさせてもらってます。

ちょっと悩んでしまったので一応報告

例1:eax と edx を足し、結果を eax に保存する。
   mov eax, 4
   mov ebx, 1
   add eax, ebx

のとこなのですが、よく見てみたらeaxとebxでなく、eaxとedxに。

edxってどこ、ってならないように初心者は米欄を見る事!
Posted by at 2011年06月30日 08:59
mlrqbhlu <a href="http://www.longchamppliable.biz" title="sac テ main longchamp">sac テ main longchamp</a>
Posted by sac テ main longchamp at 2013年05月24日 03:52
↑↑コメの方
 mov eax, 4
 mov ebx, 1
 add eax, ebx
だと意味がわかりませんよ
eax + ebx の結果をeax,ebxに格納するって
正しくは
 mov eax, 4
 mov ebx, 1
 add eax
Posted by at 2014年06月23日 19:45
ollydbgの演習のbase_test.exeがうまく動きません・・・

一つ目のメッセージボックスを表示させokを押すと変な場所に処理が飛び、eaxは00000000になります

こちらwin7 64bitなのですがそれが原因かなぁと思っています
同じ境遇の方いらっしゃいませんか?
Posted by lemondogs at 2014年08月24日 15:10
ollyにstealth64ってアドオンを入れると説明通りに動きました
一応報告しときます
Posted by lemondogs at 2014年09月02日 23:09
途中までは初心者向けでよかったけど

>あえて答えは書かないが、xor が具体的にどのような処理をするか分からないみじんこは 2日目の基礎知識の内容を よく読んで考えてみろ。

どうして答え書かないの?
答え書けよ
使えないゼミーナルだな
Posted by at 2015年07月08日 13:05
多重起動3-3の
>>レジスタウィンドウでは ESP は 12FEB0 を指している。この値に + 8 をすると見事に 12FEB8 となる。
というところ、何度やっても 18FE78 になるんですが、何が間違ってるのでしょうか…
Posted by あああ at 2015年10月06日 02:49
すいません、自己解決しました。
Posted by あああ at 2015年10月07日 17:11
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。